Cloud computing is the delivery of computing as a service rather than a product, whereby resources, software, and information are provided to computers and other devices as a utility over a network. Typically, cloud computing services are offered by cloud computing service providers on a pay-per-usage basis. Cloud computing has evolved into multiple deployment models, including public clouds, community clouds, and private clouds. A “public cloud” is a model where a service provider makes resources, such as software applications and storage, available to the general public. A “private cloud” is infrastructure operated solely for a single organization or restricted group of users. A “private cloud” may be hosted by a third party or hosted internally or externally by the specific community whether managed internally or by a third-party and hosted internally or externally by the single organization or restricted group of users. A “community cloud” shares infrastructure between several organizations from a specific community with common concerns.
There are a number of challenges associated with relying solely on a public cloud computing environment or a community cloud computing environment. First, data governance is hindered by the use of a public cloud or community computing providers that may or may not guarantee the safety and security of data stored in the provider's cloud. Second, public computing providers lack resource management capabilities which allow a system administrator to scale resource utilization based on server load and software application usage. Third, network latency associated with using a public cloud or community computing environment may make the cloud sluggish and cumbersome. Fourth, system administrators may find themselves at the mercy of a public cloud or community computing provider because of poor reliability or low availability. Finally, there remains the looming issue of security on the virtual servers that make up the public environment or community environment. For these reasons, a system administrator is well-advised to seek a private cloud solution in an attempt to overcome some or all of these challenges associated with relying solely on a public cloud or community cloud computing environment. However, a private cloud does not provide all of the computing resources that may be needed or desired. There may be programs and data that do not require the highest level of security that is provided by a private cloud or community cloud. Moreover, it is important to have a backup for data and/or software applications for backup in the event of a system failure or emergency.
The creation of a cloud solution requires a knowledge set not normally available to the average system administrator. The implementation process may be a timely and frustrating process replete with opportunities for making mistakes or introduction of errors, which will terminate the process or lead to a less than optimal cloud instance. For these reasons, a straight forward method of initializing and creating a stand-alone cloud computing appliance is desirable.
Once a private cloud solution has been created, system administrators need the capability of migrating software applications to the cloud in order to make use of the available cloud resources. Traditionally, a system administrator takes inventory of local software applications and selects candidates for migration to the cloud. For these reasons, a method of migrating software applications to a stand-alone cloud computing appliance is desirable.
It may also be desirable to create a cloud computing environment in a remote or inhospitable location. Traditional cloud computing service providers would be inadequate due to lack of network connectivity and network latency. A mobile cloud computing platform could be deployed to such a location and a private cloud environment in combination with a public cloud environment could be utilized to provide cloud services to a remote or inhospitable geographic area.
The present invention is directed to overcoming one or more of the problems set forth above.